home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 02 - 1986 / 02.10 Oct 86.sit / 02.10 Oct 86 / tictactoe sources / Edit format souce files / SnakeText.asm < prev    next >
MacBinary  |  1986-08-06  |  4.5 KB  |  [TEXT/EDIT]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Wed Aug 6 07:10:07 1986, modified Wed Aug 6 07:10:07 1986, creator Macintosh Edit, type ASCII, 4065 bytes "SnakeText.asm" , at 0x1061 348 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[EDIT]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0d 53 6e 61 6b 65 54 | 65 78 74 2e 61 73 6d 00 |..SnakeT|ext.asm.|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 45 44 49 | 54 01 00 00 00 00 00 00 |.TEXTEDI|T.......|
|00000050| 00 00 00 00 00 0f e1 00 | 00 01 5c 9b 5c e1 0f 9b |........|..\.\...|
|00000060| 5c e1 0f 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |\.......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 66 ce 00 00 |........|....f...|
|00000080| 3b 20 53 6e 61 6b 65 54 | 65 78 74 20 20 20 32 32 |; SnakeT|ext 22|
|00000090| 20 46 65 62 72 75 61 72 | 79 20 31 39 38 36 0d 3b | Februar|y 1986.;|
|000000a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 0d 3b 20 44 |--------|---..; D|
|000000b0| 6f 20 61 20 6e 65 61 74 | 20 73 70 65 63 69 61 6c |o a neat| special|
|000000c0| 20 65 66 66 65 63 74 20 | 77 69 74 68 20 61 20 73 | effect |with a s|
|000000d0| 74 72 69 6e 67 20 6f 66 | 20 63 68 61 72 73 2e 20 |tring of| chars. |
|000000e0| 50 72 69 6e 74 20 65 61 | 63 68 20 63 68 61 72 20 |Print ea|ch char |
|000000f0| 0d 3b 20 69 6e 20 73 74 | 72 69 6e 67 20 31 20 74 |.; in st|ring 1 t|
|00000100| 6f 20 31 31 20 74 69 6d | 65 73 20 28 63 75 72 72 |o 11 tim|es (curr|
|00000110| 65 6e 74 6c 79 20 73 65 | 74 20 61 74 20 36 29 2c |ently se|t at 6),|
|00000120| 20 66 72 6f 6d 20 32 20 | 70 74 20 74 6f 20 31 32 | from 2 |pt to 12|
|00000130| 20 70 74 20 0d 3b 20 73 | 6f 20 74 68 61 74 20 69 | pt .; s|o that i|
|00000140| 74 20 6c 6f 6f 6b 73 20 | 72 65 61 6c 6c 79 20 63 |t looks |really c|
|00000150| 6f 6f 6c 2e 0d 0d 09 2e | 54 52 41 50 09 5f 45 72 |ool.....|TRAP._Er|
|00000160| 61 73 65 52 65 63 74 09 | 09 24 41 38 41 33 0d 09 |aseRect.|.$A8A3..|
|00000170| 2e 54 52 41 50 09 5f 54 | 65 78 74 53 69 7a 65 09 |.TRAP._T|extSize.|
|00000180| 09 24 41 38 38 41 0d 09 | 2e 54 52 41 50 09 5f 4d |.$A88A..|.TRAP._M|
|00000190| 6f 76 65 54 6f 09 09 09 | 24 41 38 39 33 0d 09 2e |oveTo...|$A893...|
|000001a0| 54 52 41 50 09 5f 44 72 | 61 77 43 68 61 72 09 09 |TRAP._Dr|awChar..|
|000001b0| 24 41 38 38 33 0d 09 2e | 54 52 41 50 09 5f 43 68 |$A883...|TRAP._Ch|
|000001c0| 61 72 57 69 64 74 68 09 | 09 24 41 38 38 44 0d 09 |arWidth.|.$A88D..|
|000001d0| 2e 54 52 41 50 09 5f 4e | 65 77 50 74 72 09 09 09 |.TRAP._N|ewPtr...|
|000001e0| 24 41 31 30 30 2b 33 30 | 0d 09 2e 54 52 41 50 09 |$A100+30|...TRAP.|
|000001f0| 5f 44 69 73 70 6f 73 50 | 74 72 09 09 24 41 30 30 |_DisposP|tr..$A00|
|00000200| 30 2b 33 31 0d 0d 58 72 | 65 66 09 53 6e 61 6b 65 |0+31..Xr|ef.Snake|
|00000210| 54 65 78 74 0d 0d 74 6f | 70 09 09 45 51 55 09 30 |Text..to|p..EQU.0|
|00000220| 0d 6c 65 66 74 09 09 45 | 51 55 09 32 0d 62 6f 74 |.left..E|QU.2.bot|
|00000230| 74 6f 6d 09 09 45 51 55 | 09 34 0d 74 62 6c 43 68 |tom..EQU|.4.tblCh|
|00000240| 61 72 09 09 45 51 55 09 | 30 0d 74 62 6c 54 65 78 |ar..EQU.|0.tblTex|
|00000250| 74 53 69 7a 65 09 45 51 | 55 09 32 0d 74 62 6c 54 |tSize.EQ|U.2.tblT|
|00000260| 6f 70 09 09 45 51 55 09 | 34 0d 74 62 6c 4c 65 66 |op..EQU.|4.tblLef|
|00000270| 74 09 09 45 51 55 09 36 | 0d 74 62 6c 42 6f 74 74 |t..EQU.6|.tblBott|
|00000280| 6f 6d 09 45 51 55 09 38 | 0d 74 62 6c 52 69 67 68 |om.EQU.8|.tblRigh|
|00000290| 74 09 45 51 55 09 31 30 | 0d 74 62 6c 52 65 63 74 |t.EQU.10|.tblRect|
|000002a0| 09 09 45 51 55 09 34 0d | 0d 3b 2d 2d 2d 2d 2d 2d |..EQU.4.|.;------|
|000002b0| 2d 2d 0d 53 6e 61 6b 65 | 54 65 78 74 3a 0d 3b 2d |--.Snake|Text:.;-|
|000002c0| 2d 2d 2d 2d 2d 2d 2d 0d | 3b 20 6f 6e 20 65 6e 74 |-------.|; on ent|
|000002d0| 72 79 3a 0d 3b 20 20 20 | 41 30 20 70 6f 69 6e 74 |ry:.; |A0 point|
|000002e0| 73 20 74 6f 20 73 74 72 | 69 6e 67 0d 3b 20 20 20 |s to str|ing.; |
|000002f0| 41 31 20 70 6f 69 6e 74 | 73 20 74 6f 20 72 65 63 |A1 point|s to rec|
|00000300| 74 61 6e 67 6c 65 20 74 | 6f 20 70 72 69 6e 74 20 |tangle t|o print |
|00000310| 73 74 72 69 6e 67 20 69 | 6e 20 28 6c 65 66 74 20 |string i|n (left |
|00000320| 65 64 67 65 20 73 68 6f | 75 6c 64 20 62 65 20 74 |edge sho|uld be t|
|00000330| 69 67 68 74 29 0d 3b 20 | 20 20 44 30 20 3d 20 73 |ight).; | D0 = s|
|00000340| 74 61 72 74 69 6e 67 20 | 76 0d 3b 2d 2d 2d 2d 2d |tarting |v.;-----|
|00000350| 2d 2d 2d 0d 09 4d 4f 56 | 45 4d 2e 4c 09 09 41 32 |---..MOV|EM.L..A2|
|00000360| 2d 41 34 2f 44 33 2c 2d | 28 53 50 29 09 09 3b 73 |-A4/D3,-|(SP)..;s|
|00000370| 61 76 65 20 73 6f 6d 65 | 20 72 65 67 73 0d 3b 73 |ave some| regs.;s|
|00000380| 61 76 65 20 69 6e 70 75 | 74 73 0d 09 4d 4f 56 45 |ave inpu|ts..MOVE|
|00000390| 2e 4c 09 09 41 30 2c 53 | 74 72 69 6e 67 50 74 72 |.L..A0,S|tringPtr|
|000003a0| 28 41 35 29 0d 09 4d 4f | 56 45 2e 4c 09 09 41 31 |(A5)..MO|VE.L..A1|
|000003b0| 2c 53 74 72 69 6e 67 52 | 65 63 74 50 74 72 28 41 |,StringR|ectPtr(A|
|000003c0| 35 29 0d 09 4d 4f 56 45 | 09 09 44 30 2c 76 4c 6f |5)..MOVE|..D0,vLo|
|000003d0| 63 28 41 35 29 0d 3b 69 | 6e 69 74 20 74 65 78 74 |c(A5).;i|nit text|
|000003e0| 53 69 7a 65 20 74 6f 20 | 31 32 20 70 6f 69 6e 74 |Size to |12 point|
|000003f0| 0d 09 4d 4f 56 45 09 09 | 23 31 32 2c 2d 28 53 50 |..MOVE..|#12,-(SP|
|00000400| 29 0d 09 5f 54 65 78 74 | 53 69 7a 65 0d 3b 73 65 |).._Text|Size.;se|
|00000410| 74 20 75 70 20 61 20 74 | 61 62 6c 65 20 28 62 6c |t up a t|able (bl|
|00000420| 6f 63 6b 20 6f 66 20 6d | 65 6d 29 20 74 6f 20 77 |ock of m|em) to w|
|00000430| 6f 72 6b 20 77 69 74 68 | 2e 20 45 61 63 68 20 63 |ork with|. Each c|
|00000440| 68 61 72 20 69 6e 20 73 | 74 72 69 6e 67 20 77 69 |har in s|tring wi|
|00000450| 6c 6c 0d 3b 6f 63 63 75 | 70 79 20 36 20 77 6f 72 |ll.;occu|py 6 wor|
|00000460| 64 73 20 69 6e 20 74 68 | 65 20 74 61 62 6c 65 2e |ds in th|e table.|
|00000470| 20 4f 6e 65 20 77 6f 72 | 64 20 66 6f 72 20 65 61 | One wor|d for ea|
|00000480| 63 68 20 6f 66 20 74 68 | 65 20 66 6f 6c 6c 6f 77 |ch of th|e follow|
|00000490| 69 6e 67 3a 0d 3b 20 20 | 63 68 61 72 2c 20 63 75 |ing:.; |char, cu|
|000004a0| 72 53 69 7a 65 4f 66 43 | 68 61 72 2c 20 74 6f 70 |rSizeOfC|har, top|
|000004b0| 2c 20 6c 65 66 74 2c 20 | 62 6f 74 74 6f 6d 2c 20 |, left, |bottom, |
|000004c0| 72 69 67 68 74 0d 3b 65 | 61 63 68 20 63 68 61 72 |right.;e|ach char|
|000004d0| 20 68 61 73 20 61 20 72 | 65 63 74 61 6e 67 6c 65 | has a r|ectangle|
|000004e0| 20 64 65 66 69 6e 65 64 | 20 74 68 61 74 20 65 6e | defined| that en|
|000004f0| 63 6c 6f 73 65 73 20 74 | 68 65 20 63 68 61 72 2e |closes t|he char.|
|00000500| 20 54 68 69 73 20 72 65 | 63 74 20 69 73 0d 3b 75 | This re|ct is.;u|
|00000510| 73 65 64 20 74 6f 20 65 | 72 61 73 65 20 74 68 65 |sed to e|rase the|
|00000520| 20 6f 6c 64 20 63 68 61 | 72 20 62 65 66 6f 72 65 | old cha|r before|
|00000530| 20 64 72 61 77 69 6e 67 | 20 74 68 65 20 6e 65 77 | drawing| the new|
|00000540| 20 28 61 6e 64 20 6c 61 | 72 67 65 72 29 20 63 68 | (and la|rger) ch|
|00000550| 61 72 2e 0d 09 4d 4f 56 | 45 2e 4c 09 09 53 74 72 |ar...MOV|E.L..Str|
|00000560| 69 6e 67 50 74 72 28 41 | 35 29 2c 41 30 0d 3b 66 |ingPtr(A|5),A0.;f|
|00000570| 69 72 73 74 20 62 79 74 | 65 20 6f 66 20 73 74 72 |irst byt|e of str|
|00000580| 69 6e 67 20 69 73 20 6c | 65 6e 67 74 68 20 62 79 |ing is l|ength by|
|00000590| 74 65 2e 0d 3b 77 65 20 | 6e 65 65 64 20 31 32 20 |te..;we |need 12 |
|000005a0| 62 79 74 65 73 20 28 36 | 20 77 6f 72 64 73 29 20 |bytes (6| words) |
|000005b0| 66 6f 72 20 65 61 63 68 | 20 63 68 61 72 20 69 6e |for each| char in|
|000005c0| 20 73 74 72 69 6e 67 2e | 0d 09 43 4c 52 2e 4c 09 | string.|..CLR.L.|
|000005d0| 09 44 30 0d 09 4d 4f 56 | 45 2e 42 09 09 28 41 30 |.D0..MOV|E.B..(A0|
|000005e0| 29 2c 44 30 09 09 3b 67 | 65 74 20 6c 65 6e 67 74 |),D0..;g|et lengt|
|000005f0| 68 20 6f 66 20 73 74 72 | 69 6e 67 0d 09 4d 4f 56 |h of str|ing..MOV|
|00000600| 45 2e 4c 09 09 44 30 2c | 44 31 0d 09 41 53 4c 09 |E.L..D0,|D1..ASL.|
|00000610| 09 23 32 2c 44 30 0d 09 | 41 53 4c 09 09 23 33 2c |.#2,D0..|ASL..#3,|
|00000620| 44 31 0d 09 41 44 44 09 | 09 44 31 2c 44 30 09 09 |D1..ADD.|.D1,D0..|
|00000630| 3b 44 30 3d 31 32 2a 6c | 65 6e 67 74 68 28 73 74 |;D0=12*l|ength(st|
|00000640| 72 69 6e 67 29 0d 3b 67 | 65 74 20 61 20 70 6f 69 |ring).;g|et a poi|
|00000650| 6e 74 65 72 20 74 6f 20 | 61 20 62 6c 6f 63 6b 20 |nter to |a block |
|00000660| 6f 66 20 44 30 20 62 79 | 74 65 73 20 6f 66 20 66 |of D0 by|tes of f|
|00000670| 72 65 65 20 52 41 4d 0d | 09 5f 4e 65 77 50 74 72 |ree RAM.|._NewPtr|
|00000680| 0d 09 4d 4f 56 45 2e 4c | 09 09 41 30 2c 41 32 09 |..MOVE.L|..A0,A2.|
|00000690| 09 3b 63 6f 70 79 20 42 | 6c 6f 63 6b 50 74 72 20 |.;copy B|lockPtr |
|000006a0| 28 61 73 73 75 6d 65 20 | 6e 6f 20 65 72 72 29 0d |(assume |no err).|
|000006b0| 3b 69 6e 69 74 69 61 6c | 69 7a 65 20 73 6f 6d 65 |;initial|ize some|
|000006c0| 20 73 74 75 66 66 0d 09 | 4d 4f 56 45 2e 4c 09 09 | stuff..|MOVE.L..|
|000006d0| 41 32 2c 42 6c 6f 63 6b | 50 74 72 28 41 35 29 0d |A2,Block|Ptr(A5).|
|000006e0| 09 4d 4f 56 45 2e 4c 09 | 09 53 74 72 69 6e 67 52 |.MOVE.L.|.StringR|
|000006f0| 65 63 74 50 74 72 28 41 | 35 29 2c 41 30 0d 09 4d |ectPtr(A|5),A0..M|
|00000700| 4f 56 45 09 09 74 6f 70 | 28 41 30 29 2c 54 6f 70 |OVE..top|(A0),Top|
|00000710| 56 61 6c 75 65 28 41 35 | 29 0d 09 4d 4f 56 45 09 |Value(A5|)..MOVE.|
|00000720| 09 6c 65 66 74 28 41 30 | 29 2c 4c 65 66 74 56 61 |.left(A0|),LeftVa|
|00000730| 6c 75 65 28 41 35 29 0d | 09 4d 4f 56 45 09 09 62 |lue(A5).|.MOVE..b|
|00000740| 6f 74 74 6f 6d 28 41 30 | 29 2c 42 6f 74 74 6f 6d |ottom(A0|),Bottom|
|00000750| 56 61 6c 75 65 28 41 35 | 29 0d 09 4d 4f 56 45 2e |Value(A5|)..MOVE.|
|00000760| 4c 09 09 53 74 72 69 6e | 67 50 74 72 28 41 35 29 |L..Strin|gPtr(A5)|
|00000770| 2c 41 33 0d 09 43 4c 52 | 09 09 44 33 0d 09 4d 4f |,A3..CLR|..D3..MO|
|00000780| 56 45 2e 42 09 09 28 41 | 33 29 2b 2c 44 33 09 09 |VE.B..(A|3)+,D3..|
|00000790| 3b 67 65 74 20 6c 65 6e | 67 74 68 20 6f 66 20 73 |;get len|gth of s|
|000007a0| 74 72 69 6e 67 0d 09 53 | 55 42 51 09 09 23 31 2c |tring..S|UBQ..#1,|
|000007b0| 44 33 0d 3b 62 75 69 6c | 64 20 74 68 65 20 74 61 |D3.;buil|d the ta|
|000007c0| 62 6c 65 0d 3b 20 41 32 | 20 3d 20 42 6c 6f 63 6b |ble.; A2| = Block|
|000007d0| 50 74 72 20 28 70 6f 69 | 6e 74 65 72 20 74 6f 20 |Ptr (poi|nter to |
|000007e0| 63 75 72 72 65 6e 74 20 | 63 68 61 72 20 69 6e 20 |current |char in |
|000007f0| 74 61 62 6c 65 29 0d 3b | 20 41 33 20 3d 20 53 74 |table).;| A3 = St|
|00000800| 72 69 6e 67 50 74 72 20 | 28 70 6f 69 6e 74 73 20 |ringPtr |(points |
|00000810| 74 6f 20 6e 65 78 74 20 | 63 68 61 72 20 69 6e 20 |to next |char in |
|00000820| 73 74 72 69 6e 67 20 74 | 6f 20 77 6f 72 6b 20 77 |string t|o work w|
|00000830| 69 74 68 29 0d 3b 20 44 | 33 20 3d 20 6c 65 6e 67 |ith).; D|3 = leng|
|00000840| 74 68 20 6f 66 20 73 74 | 72 69 6e 67 20 28 6c 6f |th of st|ring (lo|
|00000850| 6f 70 20 63 6f 6e 74 72 | 6f 6c 20 76 61 72 69 61 |op contr|ol varia|
|00000860| 62 6c 65 29 0d 40 32 09 | 4d 4f 56 45 2e 42 09 09 |ble).@2.|MOVE.B..|
|00000870| 28 41 33 29 2b 2c 44 30 | 09 09 3b 67 65 74 20 61 |(A3)+,D0|..;get a|
|00000880| 20 63 68 61 72 0d 09 4d | 4f 56 45 09 09 44 30 2c | char..M|OVE..D0,|
|00000890| 74 62 6c 43 68 61 72 28 | 41 32 29 09 09 3b 73 61 |tblChar(|A2)..;sa|
|000008a0| 76 65 20 63 68 61 72 20 | 69 6e 20 74 61 62 6c 65 |ve char |in table|
|000008b0| 0d 09 43 4c 52 09 09 74 | 62 6c 54 65 78 74 53 69 |..CLR..t|blTextSi|
|000008c0| 7a 65 28 41 32 29 09 09 | 3b 74 65 78 74 53 69 7a |ze(A2)..|;textSiz|
|000008d0| 65 20 3d 20 30 20 74 6f | 20 73 74 61 72 74 0d 09 |e = 0 to| start..|
|000008e0| 4d 4f 56 45 09 09 54 6f | 70 56 61 6c 75 65 28 41 |MOVE..To|pValue(A|
|000008f0| 35 29 2c 74 62 6c 54 6f | 70 28 41 32 29 0d 09 4d |5),tblTo|p(A2)..M|
|00000900| 4f 56 45 09 09 4c 65 66 | 74 56 61 6c 75 65 28 41 |OVE..Lef|tValue(A|
|00000910| 35 29 2c 74 62 6c 4c 65 | 66 74 28 41 32 29 0d 09 |5),tblLe|ft(A2)..|
|00000920| 4d 4f 56 45 09 09 42 6f | 74 74 6f 6d 56 61 6c 75 |MOVE..Bo|ttomValu|
|00000930| 65 28 41 35 29 2c 74 62 | 6c 42 6f 74 74 6f 6d 28 |e(A5),tb|lBottom(|
|00000940| 41 32 29 0d 09 43 4c 52 | 09 09 2d 28 53 50 29 09 |A2)..CLR|..-(SP).|
|00000950| 09 09 3b 73 70 61 63 65 | 20 66 6f 72 20 69 6e 74 |..;space| for int|
|00000960| 65 67 65 72 20 72 65 73 | 75 6c 74 0d 09 4d 4f 56 |eger res|ult..MOV|
|00000970| 45 09 09 44 30 2c 2d 28 | 53 50 29 09 09 3b 70 75 |E..D0,-(|SP)..;pu|
|00000980| 73 68 20 63 68 61 72 0d | 09 5f 43 68 61 72 57 69 |sh char.|._CharWi|
|00000990| 64 74 68 09 09 09 09 3b | 67 65 74 20 77 69 64 74 |dth....;|get widt|
|000009a0| 68 20 6f 66 20 63 68 61 | 72 0d 09 4d 4f 56 45 09 |h of cha|r..MOVE.|
|000009b0| 09 28 53 50 29 2b 2c 44 | 30 0d 09 41 44 44 09 09 |.(SP)+,D|0..ADD..|
|000009c0| 4c 65 66 74 56 61 6c 75 | 65 28 41 35 29 2c 44 30 |LeftValu|e(A5),D0|
|000009d0| 09 3b 61 64 64 20 63 68 | 61 72 20 77 69 64 74 68 |.;add ch|ar width|
|000009e0| 20 74 6f 20 70 72 65 76 | 69 6f 75 73 0d 09 4d 4f | to prev|ious..MO|
|000009f0| 56 45 09 09 44 30 2c 74 | 62 6c 52 69 67 68 74 28 |VE..D0,t|blRight(|
|00000a00| 41 32 29 09 09 3b 20 4c | 65 66 74 56 61 6c 75 65 |A2)..; L|eftValue|
|00000a10| 20 74 6f 20 67 65 74 20 | 52 69 67 68 74 56 61 6c | to get |RightVal|
|00000a20| 75 65 0d 09 4d 4f 56 45 | 09 09 44 30 2c 4c 65 66 |ue..MOVE|..D0,Lef|
|00000a30| 74 56 61 6c 75 65 28 41 | 35 29 0d 09 41 44 44 41 |tValue(A|5)..ADDA|
|00000a40| 09 09 23 31 32 2c 41 32 | 09 09 09 3b 69 6e 63 20 |..#12,A2|...;inc |
|00000a50| 74 61 62 6c 65 20 70 6f | 69 6e 74 65 72 0d 09 44 |table po|inter..D|
|00000a60| 42 52 41 09 09 44 33 2c | 40 32 0d 3b 73 61 76 65 |BRA..D3,|@2.;save|
|00000a70| 20 70 74 72 20 74 6f 20 | 6c 61 73 74 20 63 68 61 | ptr to |last cha|
|00000a80| 72 20 69 6e 20 74 61 62 | 6c 65 0d 09 53 55 42 41 |r in tab|le..SUBA|
|00000a90| 09 09 23 31 32 2c 41 32 | 0d 09 4d 4f 56 45 2e 4c |..#12,A2|..MOVE.L|
|00000aa0| 09 09 41 32 2c 4c 61 73 | 74 43 68 61 72 50 74 72 |..A2,Las|tCharPtr|
|00000ab0| 28 41 35 29 0d 0d 09 4d | 4f 56 45 2e 4c 09 09 42 |(A5)...M|OVE.L..B|
|00000ac0| 6c 6f 63 6b 50 74 72 28 | 41 35 29 2c 41 32 09 09 |lockPtr(|A5),A2..|
|00000ad0| 3b 41 32 20 3d 20 46 72 | 6f 6e 74 50 74 72 0d 09 |;A2 = Fr|ontPtr..|
|00000ae0| 4d 4f 56 45 2e 4c 09 09 | 41 32 2c 41 33 09 09 09 |MOVE.L..|A2,A3...|
|00000af0| 3b 41 33 20 3d 20 45 6e | 64 50 74 72 0d 0d 3b 64 |;A3 = En|dPtr..;d|
|00000b00| 6f 20 74 68 65 20 64 72 | 61 77 69 6e 67 0d 3b 2d |o the dr|awing.;-|
|00000b10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 3b 20 |--------|-----.; |
|00000b20| 41 34 20 3d 20 6c 6f 6f | 70 20 63 6f 6e 74 72 6f |A4 = loo|p contro|
|00000b30| 6c 20 76 61 72 69 61 62 | 6c 65 0d 40 33 09 4d 4f |l variab|le.@3.MO|
|00000b40| 56 45 2e 4c 09 09 41 32 | 2c 41 34 09 09 09 3b 73 |VE.L..A2|,A4...;s|
|00000b50| 74 61 72 74 20 77 69 74 | 68 20 46 72 6f 6e 74 50 |tart wit|h FrontP|
|00000b60| 74 72 0d 0d 3b 76 61 72 | 79 20 74 68 65 20 73 70 |tr..;var|y the sp|
|00000b70| 65 65 64 20 62 79 20 70 | 75 74 74 69 6e 67 20 61 |eed by p|utting a|
|00000b80| 6e 20 65 76 65 6e 20 66 | 61 63 74 6f 72 20 6f 66 |n even f|actor of|
|00000b90| 20 31 32 20 28 69 2e 65 | 2e 20 31 2c 32 2c 33 2c | 12 (i.e|. 1,2,3,|
|00000ba0| 34 2c 36 29 20 69 6e 20 | 74 68 65 20 0d 3b 6c 69 |4,6) in |the .;li|
|00000bb0| 6e 65 20 62 65 6c 6f 77 | 2e 20 0d 3b 20 20 31 20 |ne below|. .; 1 |
|00000bc0| 20 3d 20 73 6c 6f 77 20 | 28 31 31 20 63 68 61 72 | = slow |(11 char|
|00000bd0| 20 6c 61 67 29 0d 3b 20 | 20 32 20 20 3d 20 73 6f | lag).; | 2 = so|
|00000be0| 72 74 61 20 73 6c 6f 77 | 20 28 35 20 63 68 61 72 |rta slow| (5 char|
|00000bf0| 20 6c 61 67 29 20 20 3c | 2d 2d 20 73 65 74 20 61 | lag) <|-- set a|
|00000c00| 74 20 32 20 6e 6f 77 0d | 3b 20 20 33 20 20 3d 20 |t 2 now.|; 3 = |
|00000c10| 6d 65 64 69 75 6d 20 28 | 33 20 63 68 61 72 20 6c |medium (|3 char l|
|00000c20| 61 67 29 0d 3b 20 20 34 | 20 20 3d 20 66 61 73 74 |ag).; 4| = fast|
|00000c30| 20 28 32 20 63 68 61 72 | 20 6c 61 67 29 0d 3b 20 | (2 char| lag).; |
|00000c40| 20 2a 20 6e 6f 74 65 2c | 20 69 66 20 79 6f 75 20 | * note,| if you |
|00000c50| 73 65 74 20 69 74 20 61 | 74 20 35 2c 20 79 6f 75 |set it a|t 5, you|
|00000c60| 27 6c 6c 20 72 65 67 72 | 65 74 20 69 74 20 28 68 |'ll regr|et it (h|
|00000c70| 61 6e 67 20 73 79 73 74 | 65 6d 29 0d 3b 20 20 36 |ang syst|em).; 6|
|00000c80| 20 20 3d 20 72 65 61 6c | 6c 79 20 66 61 73 74 20 | = real|ly fast |
|00000c90| 28 31 20 63 68 61 72 20 | 6c 61 67 29 0d 3b 43 68 |(1 char |lag).;Ch|
|00000ca0| 61 6e 67 65 20 74 68 65 | 20 69 6d 6d 65 64 69 61 |ange the| immedia|
|00000cb0| 74 65 20 64 61 74 61 20 | 69 6e 20 74 68 65 20 6e |te data |in the n|
|00000cc0| 65 78 74 20 6c 69 6e 65 | 20 28 40 34 29 3a 0d 0d |ext line| (@4):..|
|00000cd0| 40 34 09 41 44 44 51 09 | 09 23 32 2c 74 62 6c 54 |@4.ADDQ.|.#2,tblT|
|00000ce0| 65 78 74 53 69 7a 65 28 | 41 34 29 09 3b 69 6e 63 |extSize(|A4).;inc|
|00000cf0| 20 74 65 78 74 53 69 7a | 65 28 41 34 29 0d 09 43 | textSiz|e(A4)..C|
|00000d00| 4d 50 41 2e 4c 09 09 41 | 33 2c 41 34 09 09 09 3b |MPA.L..A|3,A4...;|
|00000d10| 61 72 65 20 77 65 20 61 | 74 20 45 6e 64 50 74 72 |are we a|t EndPtr|
|00000d20| 3f 0d 09 42 45 51 09 09 | 40 35 0d 09 53 55 42 41 |?..BEQ..|@5..SUBA|
|00000d30| 09 09 23 31 32 2c 41 34 | 09 09 09 3b 67 6f 20 74 |..#12,A4|...;go t|
|00000d40| 6f 20 70 72 65 76 69 6f | 75 73 20 65 6e 74 72 79 |o previo|us entry|
|00000d50| 20 69 6e 20 74 61 62 6c | 65 0d 09 42 52 41 09 09 | in tabl|e..BRA..|
|00000d60| 40 34 0d 40 35 20 09 50 | 45 41 09 09 74 62 6c 52 |@4.@5 .P|EA..tblR|
|00000d70| 65 63 74 28 41 34 29 09 | 09 3b 65 72 61 73 65 20 |ect(A4).|.;erase |
|00000d80| 6f 6c 64 20 63 68 61 72 | 0d 09 5f 45 72 61 73 65 |old char|.._Erase|
|00000d90| 52 65 63 74 0d 09 4d 4f | 56 45 09 09 74 62 6c 4c |Rect..MO|VE..tblL|
|00000da0| 65 66 74 28 41 34 29 2c | 2d 28 53 50 29 09 3b 64 |eft(A4),|-(SP).;d|
|00000db0| 72 61 77 20 6e 65 77 20 | 63 68 61 72 0d 09 4d 4f |raw new |char..MO|
|00000dc0| 56 45 09 09 76 4c 6f 63 | 28 41 35 29 2c 2d 28 53 |VE..vLoc|(A5),-(S|
|00000dd0| 50 29 0d 09 5f 4d 6f 76 | 65 54 6f 0d 09 4d 4f 56 |P).._Mov|eTo..MOV|
|00000de0| 45 09 09 74 62 6c 54 65 | 78 74 53 69 7a 65 28 41 |E..tblTe|xtSize(A|
|00000df0| 34 29 2c 2d 28 53 50 29 | 0d 09 5f 54 65 78 74 53 |4),-(SP)|.._TextS|
|00000e00| 69 7a 65 0d 09 4d 4f 56 | 45 09 09 74 62 6c 43 68 |ize..MOV|E..tblCh|
|00000e10| 61 72 28 41 34 29 2c 2d | 28 53 50 29 0d 09 5f 44 |ar(A4),-|(SP).._D|
|00000e20| 72 61 77 43 68 61 72 0d | 09 43 4d 50 41 2e 4c 09 |rawChar.|.CMPA.L.|
|00000e30| 09 41 32 2c 41 34 09 09 | 09 3b 68 61 76 65 20 77 |.A2,A4..|.;have w|
|00000e40| 65 20 72 65 61 63 68 65 | 64 20 46 72 6f 6e 74 50 |e reache|d FrontP|
|00000e50| 74 72 3f 0d 09 42 45 51 | 09 09 40 36 0d 09 41 44 |tr?..BEQ|..@6..AD|
|00000e60| 44 41 09 09 23 31 32 2c | 41 34 0d 09 42 52 41 09 |DA..#12,|A4..BRA.|
|00000e70| 09 40 35 0d 40 36 09 43 | 4d 50 09 09 23 31 32 2c |.@5.@6.C|MP..#12,|
|00000e80| 32 28 41 33 29 09 09 3b | 69 73 20 45 6e 64 50 74 |2(A3)..;|is EndPt|
|00000e90| 72 20 73 69 7a 65 3d 31 | 32 3f 0d 09 42 4e 45 09 |r size=1|2?..BNE.|
|00000ea0| 09 40 37 0d 09 41 44 44 | 41 09 09 23 31 32 2c 41 |.@7..ADD|A..#12,A|
|00000eb0| 33 09 09 09 3b 69 6e 63 | 20 45 6e 64 50 74 72 0d |3...;inc| EndPtr.|
|00000ec0| 40 37 09 4d 4f 56 45 2e | 4c 09 09 4c 61 73 74 43 |@7.MOVE.|L..LastC|
|00000ed0| 68 61 72 50 74 72 28 41 | 35 29 2c 41 30 0d 09 43 |harPtr(A|5),A0..C|
|00000ee0| 4d 50 41 2e 4c 09 09 41 | 30 2c 41 32 09 09 09 3b |MPA.L..A|0,A2...;|
|00000ef0| 69 73 20 46 72 6f 6e 74 | 50 74 72 20 61 74 20 6c |is Front|Ptr at l|
|00000f00| 61 73 74 20 63 68 61 72 | 3f 0d 09 42 45 51 09 09 |ast char|?..BEQ..|
|00000f10| 40 38 0d 09 41 44 44 41 | 09 09 23 31 32 2c 41 32 |@8..ADDA|..#12,A2|
|00000f20| 09 09 09 3b 69 6e 63 20 | 46 72 6f 6e 74 50 74 72 |...;inc |FrontPtr|
|00000f30| 0d 40 38 09 43 4d 50 09 | 09 23 31 32 2c 74 62 6c |.@8.CMP.|.#12,tbl|
|00000f40| 54 65 78 74 53 69 7a 65 | 28 41 30 29 09 3b 69 73 |TextSize|(A0).;is|
|00000f50| 20 6c 61 73 74 20 63 68 | 61 72 27 73 20 73 69 7a | last ch|ar's siz|
|00000f60| 65 3d 31 32 3f 0d 09 42 | 4e 45 09 09 40 33 0d 0d |e=12?..B|NE..@3..|
|00000f70| 09 4d 4f 56 45 2e 4c 09 | 09 42 6c 6f 63 6b 50 74 |.MOVE.L.|.BlockPt|
|00000f80| 72 28 41 35 29 2c 41 30 | 09 09 3b 66 72 65 65 20 |r(A5),A0|..;free |
|00000f90| 74 68 65 20 6d 65 6d 6f | 72 79 20 75 73 65 64 0d |the memo|ry used.|
|00000fa0| 09 5f 44 69 73 70 6f 73 | 50 74 72 0d 09 4d 4f 56 |._Dispos|Ptr..MOV|
|00000fb0| 45 4d 2e 4c 09 09 28 53 | 50 29 2b 2c 41 32 2d 41 |EM.L..(S|P)+,A2-A|
|00000fc0| 34 2f 44 33 09 09 3b 72 | 65 73 74 6f 72 65 20 73 |4/D3..;r|estore s|
|00000fd0| 6f 6d 65 20 72 65 67 73 | 0d 09 52 54 53 0d 0d 53 |ome regs|..RTS..S|
|00000fe0| 74 72 69 6e 67 50 74 72 | 09 44 53 2e 4c 09 31 0d |tringPtr|.DS.L.1.|
|00000ff0| 53 74 72 69 6e 67 52 65 | 63 74 50 74 72 09 44 53 |StringRe|ctPtr.DS|
|00001000| 2e 4c 09 31 0d 4c 61 73 | 74 43 68 61 72 50 74 72 |.L.1.Las|tCharPtr|
|00001010| 09 44 53 2e 4c 09 31 0d | 42 6c 6f 63 6b 50 74 72 |.DS.L.1.|BlockPtr|
|00001020| 09 44 53 2e 4c 09 31 0d | 54 6f 70 56 61 6c 75 65 |.DS.L.1.|TopValue|
|00001030| 09 44 53 09 31 0d 42 6f | 74 74 6f 6d 56 61 6c 75 |.DS.1.Bo|ttomValu|
|00001040| 65 09 44 53 09 31 0d 4c | 65 66 74 56 61 6c 75 65 |e.DS.1.L|eftValue|
|00001050| 09 44 53 09 31 0d 76 4c | 6f 63 09 09 44 53 09 31 |.DS.1.vL|oc..DS.1|
|00001060| 0d 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001070| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001080| 00 00 01 00 00 00 01 16 | 00 00 00 16 00 00 00 46 |........|.......F|
|00001090| 61 76 65 20 61 73 3a 00 | 00 00 00 00 1d 00 c6 00 |ave as:.|........|
|000010a0| 31 01 2e 80 00 00 00 00 | 00 00 38 00 da 00 4a 01 |1.......|..8...J.|
|000010b0| 0d 53 6e 61 6b 65 54 65 | 78 74 2e 61 73 6d 02 00 |.SnakeTe|xt.asm..|
|000010c0| 00 00 54 45 58 54 45 44 | 49 54 01 00 00 31 00 93 |..TEXTED|IT...1..|
|000010d0| 00 00 54 45 58 54 45 44 | 49 54 01 00 00 31 00 93 |..TEXTED|IT...1..|
|000010e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000010f0| 00 00 9b 5c 9a bd 00 00 | 0f e1 00 00 01 5c e7 1f |...\....|.....\..|
|00001100| 78 0c 6e 00 03 00 0c 6c | 30 48 6e ff ec a8 98 a8 |x.n....l|0Hn.....|
|00001110| 9e 41 ee 00 08 26 18 30 | 18 26 58 3c 18 3e 06 02 |.A...&.0|.&X<.>..|
|00001120| 46 00 07 42 90 20 53 d0 | 40 43 fa 00 1c d2 f1 00 |F..B. S.|@C......|
|00001130| 00 4e 91 48 6e ff ec a8 | 99 4c df 1e f8 4e 5e 20 |.N.Hn...|.L...N^ |
|00001140| 5f de fc 00 0c 4e d0 00 | 08 01 ae 01 e0 4e 75 4a |_....N..|.....NuJ|
|00001150| 28 00 10 67 f8 61 00 01 | 84 49 e8 00 08 4a 06 67 |(..g.a..|.I...J.g|
|00001160| 04 4a 03 66 06 2f 0c 2f | 04 a8 b2 20 55 20 50 2f |.J.f././|... U P/|
|00001170| 28 00 44 3f 28 00 4a 51 | 47 6c 1c 42 a8 00 44 30 |(.D?(.JQ|Gl.B..D0|
|00001180| 00 00 00 0a 00 09 06 4d | 6f 6e 61 63 6f 00 00 00 |.......M|onaco...|
|00001190| 00 04 00 06 00 08 00 00 | 01 00 00 00 01 16 00 00 |........|........|
|000011a0| 00 16 00 00 00 46 00 00 | cc 24 03 50 00 00 00 1c |.....F..|.$.P....|
|000011b0| 00 46 00 01 45 46 4e 54 | 00 00 00 12 45 54 41 42 |.F..EFNT|....ETAB|
|000011c0| 00 00 00 1e 03 eb ff ff | 00 00 00 00 00 01 63 ba |........|......c.|
|000011d0| 03 ec ff ff 00 00 00 0e | 00 01 63 c6 00 00 00 00 |........|..c.....|
|000011e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+